# LibTmux::Snapshot::session_by_id

- **Module:** LibTmux
- **Package:** LibTmux
- **Language:** Perl
- **Kind:** method
- **Source:** https://github.com/libtmux/libtmux-perl/blob/352715a4fa66a96eed7763b90daaa536aa2f121d/packages/core/lib/LibTmux/Snapshot.pm#L210
- **Page:** https://libtmux.org/en/perl/latest/reference/libtmux-snapshot-session_by_id/

```
sub session_by_id($self, $id)
```

`session_by_id('$1')` returns a [`LibTmux::Session`](/en/perl/latest/reference/libtmux-session/) or undef. Single quotes preserve the dollar-prefixed ID instead of interpolating a regex capture.

## Methods

## Parameters

- `id`

## In other ports

Look one session up by target

| Language | Equivalent |
| --- | --- |
| Python | no equivalent on `Server` |
| Ruby | [`LibTmux::Server#session`](/en/ruby/latest/reference/libtmux-server-session/) (method) |
| Erlang | [`tmux_session:get/2`](/en/erlang/latest/reference/tmux_session-get-2/) (function) |
| Haskell | No public Haskell equivalent is implemented; the current modules expose scalar values and version parsing. |
| TypeScript | no equivalent on `Server` |
| Rust | [`server.Server.session`](/en/rs/latest/reference/server-server-session/) (method) |
| Go | [`tmux.Server.Session`](/en/go/latest/reference/tmux-server-session/) (method) |
| Java | no equivalent on `Server` |
| C# | [`LibTmux.Server.GetSessionAsync`](/en/csharp/latest/reference/libtmux-server-getsessionasync/) (method) |
| C++ | [`libtmux::Server::session`](/en/cxx/latest/reference/libtmux-server-session/) (method) |
| Swift | no equivalent on `Server` |
| OCaml | [`Libtmux.Snapshot.find_session`](/en/ocaml/latest/reference/libtmux-snapshot-find_session/) (function). Exact opaque-ID lookup in an existing snapshot, without I/O or tmux target expansion. |

No equivalent is recorded in Lua, PowerShell, Julia, Elixir, Common Lisp, Clojure, Kotlin, Scala or F#.
