Visustin generates flow charts from Perl scripts. The support is current up to Perl 5.24.0. Visustin also works with previous Perl versions and it has been tested with Perl 4.0.
Perl 6 is considered a different language and is not supported by this version of Visustin. Write us if you require support.
Other statements are supported but have no specific visualization.
Perl is a complicated language to parse and visualize, partially because of its complex use of the punctuation characters. Visustin well is aware of regular expressions, comments, string literals, the qq{} syntax, special variables such as $; and $", the <<EOF syntax and various other peculiarities that make the Perl language such a great but complex tool.
If you encounter a piece of code that doesn't visualize well, try removing any non-code elements such as regular expressions, strings and comments and possibly rewriting the logic with clear statements. Pay attention to the use of punctuation and complicated expressions. Even if it works well, it might not read and visualize so well.
chdir $foo || die;
eval {}
and do {}
are visualized only when used as a standalone statement. For example, in the syntax $value = eval { ... }
, none of the eval block contents are visualized as eval used as a part of the assignment statement. Standalone use is visualized well.$subref = sub {}
my sub
, state sub
, our sub
.q{abc}
where the delimiter is a space (such as q abc
) is not taken as a literal but as normal code. This only has an effect if the literal contains punctuation.switch
statement of Switch.pm is supported. By default, there is an implicit last
at the end of each case
, which means that when a case branch has run, the execution of the switch
block ends and no other branch will run. If use Switch 'fallthrough'
exists in the code, there is an implicit next
instead. In that case, several case blocks may execute one after another (as in the C language). If there is a use Switch 'fallthrough'
statement in your code, make sure Visustin gets it in order to process switch
blocks correctly.<<HEREDOC
is displayed as a comment. The name used in the <<HEREDOC
syntax must be in one of the following formats: <<HEREDOC, <<"HEREDOC", <<`HEREDOC`
or <<'HEREDOC'
. Although legal in Perl, the name HEREDOC
cannot be empty.