---
name: "pmfunc"
section: "1p"
platform: "linux"
package: "pmtools"
version: "2.2.0-3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/pmfunc"
---

# pmfunc(1p)

cat out a function from a module

## NAME

pmfunc - cat out a function from a module

## DESCRIPTION

Given a fully-qualified function, this program opens up the file and attempts to display the source for  that function.

## EXAMPLES

```
    $ pmfunc Cwd::_perl_getcwd
    sub _perl_getcwd
    {
        abs_path('.');
    }
```

## RESTRICTIONS

Only subroutines that are defined in the normal fashion are seen, since a simple pattern-match is what does the extraction.  Those loaded other ways, such as via AUTOLOAD, typeglob aliasing, or in an `"eval"`, will all necessarily be missed.

This is mostly here for people who are too lazy to type

```
    sed '/^sub getcwd/,/}/p' `pmpath Cwd`
or
    perl -ne 'print if /^sub\s+getcwd\b/ .. /}/' `pmpath Cwd`
```

## RESTRICTIONS

## SEE ALSO

## AUTHORS and COPYRIGHTS

Copyright (C) 1999 Tom Christiansen.

Copyright (C) 2006-2014, 2018 Mark Leighton Fisher.

## LICENSE

This is free software; you can redistribute it and/or modify it under the terms of either: (a) the GNU General Public License as published by the Free Software Foundation; either version 1, or (at your option) any later version, or (b) the Perl "Artistic License". (This is the Perl 5 licensing scheme.)

Please note this is a change from the original pmtools-1.00 (still available on CPAN), as pmtools-1.00 were licensed only under the Perl "Artistic License".
