CINXE.COM
ExtUtils::Install - install files from here to there - Perldoc Browser
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>ExtUtils::Install - install files from here to there - Perldoc Browser</title> <link rel="search" href="/opensearch.xml" type="application/opensearchdescription+xml" title="Perldoc Browser"> <link rel="canonical" href="https://perldoc.perl.org/ExtUtils::Install"> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" integrity="sha384-JcKb8q3iqJ61gNV9KGb8thSsNjpSL0n8PARn9HuZOnIxN0hoP+VmmDGMN5t9UJ0Z" crossorigin="anonymous"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.5.0/styles/stackoverflow-light.min.css" integrity="sha512-cG1IdFxqipi3gqLmksLtuk13C+hBa57a6zpWxMeoY3Q9O6ooFxq50DayCdm0QrDgZjMUn23z/0PMZlgft7Yp5Q==" crossorigin="anonymous" /> <style> body { background: #f4f4f5; color: #020202; } .navbar-dark { background-image: -webkit-linear-gradient(top, #005f85 0, #002e49 100%); background-image: -o-linear-gradient(top, #005f85 0, #002e49 100%); background-image: linear-gradient(to bottom, #005f85 0, #002e49 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff005f85', endColorstr='#ff002e49', GradientType=0); background-repeat: repeat-x; } .navbar-dark .navbar-nav .nav-link, .navbar-dark .navbar-nav .nav-link:focus { color: #fff } .navbar-dark .navbar-nav .nav-link:hover { color: #ffef68 } #wrapperlicious { margin: 0 auto; font: 0.9em 'Helvetica Neue', Helvetica, sans-serif; font-weight: normal; line-height: 1.5em; margin: 0; padding: 0; } #wrapperlicious h1 { font-size: 1.5em } #wrapperlicious h2 { font-size: 1.3em } #wrapperlicious h3 { font-size: 1.1em } #wrapperlicious h4 { font-size: 0.9em } #wrapperlicious h1, #wrapperlicious h2, #wrapperlicious h3, #wrapperlicious h4, #wrapperlicious dt { color: #020202; margin-top: 1em; margin-bottom: 1em; position: relative; font-weight: bold; } #wrapperlicious a { color: inherit; text-decoration: underline } #wrapperlicious #toc { text-decoration: none } #wrapperlicious a:hover { color: #2a2a2a } #wrapperlicious a img { border: 0 } #wrapperlicious :not(pre) > code { color: inherit; background-color: rgba(0, 0, 0, 0.04); border-radius: 3px; font: 0.9em Consolas, Menlo, Monaco, monospace; padding: 0.3em; } #wrapperlicious dd { margin: 0; margin-left: 2em; } #wrapperlicious dt { color: #2a2a2a; font-weight: bold; margin-left: 0.9em; } #wrapperlicious p { margin-bottom: 1em; margin-top: 1em; } #wrapperlicious li > p { margin-bottom: 0; margin-top: 0; } #wrapperlicious pre { border: 1px solid #c1c1c1; border-radius: 3px; font: 100% Consolas, Menlo, Monaco, monospace; margin-bottom: 1em; margin-top: 1em; } #wrapperlicious pre > code { display: block; background-color: #f6f6f6; font: 0.9em Consolas, Menlo, Monaco, monospace; line-height: 1.5em; text-align: left; white-space: pre; padding: 1em; } #wrapperlicious dl, #wrapperlicious ol, #wrapperlicious ul { margin-bottom: 1em; margin-top: 1em; } #wrapperlicious ul { list-style-type: square; } #wrapperlicious ul ul { margin-bottom: 0px; margin-top: 0px; } #footer { font-size: 0.8em; padding-top: 0.5em; text-align: center; } #more { display: inline; font-size: 0.8em; } #perldocdiv { background-color: #fff; border: 1px solid #c1c1c1; border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; margin-left: auto; margin-right: auto; padding: 3em; padding-top: 1em; max-width: 960px; } #moduleversion { float: right } #wrapperlicious .leading-notice { font-style: italic; padding-left: 1em; margin-top: 1em; margin-bottom: 1em; } #wrapperlicious .permalink { display: none; left: -0.75em; position: absolute; padding-right: 0.25em; text-decoration: none; } #wrapperlicious h1:hover .permalink, #wrapperlicious h2:hover .permalink, #wrapperlicious h3:hover .permalink, #wrapperlicious h4:hover .permalink, #wrapperlicious dt:hover .permalink { display: block; } </style> <!-- Global site tag (gtag.js) - Google Analytics --> <script async src="https://www.googletagmanager.com/gtag/js?id=G-KVNWBNT5FB"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-KVNWBNT5FB'); gtag('config', 'UA-50555-3'); </script> </head> <body> <nav class="navbar navbar-expand-md navbar-dark bg-dark justify-content-between"> <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span> </button> <a class="navbar-brand" href="/"><img src="/images/perl_camel_30.png" width="30" height="30" class="d-inline-block align-top" alt="Perl Camel Logo"> Perldoc Browser</a> <div class="collapse navbar-collapse" id="navbarNav"> <ul class="navbar-nav mr-auto"> <li class="nav-item dropdown text-nowrap"> <a class="nav-link dropdown-toggle" href="#" id="dropdownlink-stable" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">5.6.0</a> <div class="dropdown-menu" aria-labelledby="dropdownlink-stable"> <a class="dropdown-item" href="/ExtUtils::Install">Latest</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.40.1/ExtUtils::Install">5.40.1</a> <a class="dropdown-item" href="/5.40.0/ExtUtils::Install">5.40.0</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.38.3/ExtUtils::Install">5.38.3</a> <a class="dropdown-item" href="/5.38.2/ExtUtils::Install">5.38.2</a> <a class="dropdown-item" href="/5.38.1/ExtUtils::Install">5.38.1</a> <a class="dropdown-item" href="/5.38.0/ExtUtils::Install">5.38.0</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.36.3/ExtUtils::Install">5.36.3</a> <a class="dropdown-item" href="/5.36.2/ExtUtils::Install">5.36.2</a> <a class="dropdown-item" href="/5.36.1/ExtUtils::Install">5.36.1</a> <a class="dropdown-item" href="/5.36.0/ExtUtils::Install">5.36.0</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.34.3/ExtUtils::Install">5.34.3</a> <a class="dropdown-item" href="/5.34.2/ExtUtils::Install">5.34.2</a> <a class="dropdown-item" href="/5.34.1/ExtUtils::Install">5.34.1</a> <a class="dropdown-item" href="/5.34.0/ExtUtils::Install">5.34.0</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.32.1/ExtUtils::Install">5.32.1</a> <a class="dropdown-item" href="/5.32.0/ExtUtils::Install">5.32.0</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.30.3/ExtUtils::Install">5.30.3</a> <a class="dropdown-item" href="/5.30.2/ExtUtils::Install">5.30.2</a> <a class="dropdown-item" href="/5.30.1/ExtUtils::Install">5.30.1</a> <a class="dropdown-item" href="/5.30.0/ExtUtils::Install">5.30.0</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.28.3/ExtUtils::Install">5.28.3</a> <a class="dropdown-item" href="/5.28.2/ExtUtils::Install">5.28.2</a> <a class="dropdown-item" href="/5.28.1/ExtUtils::Install">5.28.1</a> <a class="dropdown-item" href="/5.28.0/ExtUtils::Install">5.28.0</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.26.3/ExtUtils::Install">5.26.3</a> <a class="dropdown-item" href="/5.26.2/ExtUtils::Install">5.26.2</a> <a class="dropdown-item" href="/5.26.1/ExtUtils::Install">5.26.1</a> <a class="dropdown-item" href="/5.26.0/ExtUtils::Install">5.26.0</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.24.4/ExtUtils::Install">5.24.4</a> <a class="dropdown-item" href="/5.24.3/ExtUtils::Install">5.24.3</a> <a class="dropdown-item" href="/5.24.2/ExtUtils::Install">5.24.2</a> <a class="dropdown-item" href="/5.24.1/ExtUtils::Install">5.24.1</a> <a class="dropdown-item" href="/5.24.0/ExtUtils::Install">5.24.0</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.22.4/ExtUtils::Install">5.22.4</a> <a class="dropdown-item" href="/5.22.3/ExtUtils::Install">5.22.3</a> <a class="dropdown-item" href="/5.22.2/ExtUtils::Install">5.22.2</a> <a class="dropdown-item" href="/5.22.1/ExtUtils::Install">5.22.1</a> <a class="dropdown-item" href="/5.22.0/ExtUtils::Install">5.22.0</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.20.3/ExtUtils::Install">5.20.3</a> <a class="dropdown-item" href="/5.20.2/ExtUtils::Install">5.20.2</a> <a class="dropdown-item" href="/5.20.1/ExtUtils::Install">5.20.1</a> <a class="dropdown-item" href="/5.20.0/ExtUtils::Install">5.20.0</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.18.4/ExtUtils::Install">5.18.4</a> <a class="dropdown-item" href="/5.18.3/ExtUtils::Install">5.18.3</a> <a class="dropdown-item" href="/5.18.2/ExtUtils::Install">5.18.2</a> <a class="dropdown-item" href="/5.18.1/ExtUtils::Install">5.18.1</a> <a class="dropdown-item" href="/5.18.0/ExtUtils::Install">5.18.0</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.16.3/ExtUtils::Install">5.16.3</a> <a class="dropdown-item" href="/5.16.2/ExtUtils::Install">5.16.2</a> <a class="dropdown-item" href="/5.16.1/ExtUtils::Install">5.16.1</a> <a class="dropdown-item" href="/5.16.0/ExtUtils::Install">5.16.0</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.14.4/ExtUtils::Install">5.14.4</a> <a class="dropdown-item" href="/5.14.3/ExtUtils::Install">5.14.3</a> <a class="dropdown-item" href="/5.14.2/ExtUtils::Install">5.14.2</a> <a class="dropdown-item" href="/5.14.1/ExtUtils::Install">5.14.1</a> <a class="dropdown-item" href="/5.14.0/ExtUtils::Install">5.14.0</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.12.5/ExtUtils::Install">5.12.5</a> <a class="dropdown-item" href="/5.12.4/ExtUtils::Install">5.12.4</a> <a class="dropdown-item" href="/5.12.3/ExtUtils::Install">5.12.3</a> <a class="dropdown-item" href="/5.12.2/ExtUtils::Install">5.12.2</a> <a class="dropdown-item" href="/5.12.1/ExtUtils::Install">5.12.1</a> <a class="dropdown-item" href="/5.12.0/ExtUtils::Install">5.12.0</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.10.1/ExtUtils::Install">5.10.1</a> <a class="dropdown-item" href="/5.10.0/ExtUtils::Install">5.10.0</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.8.9/ExtUtils::Install">5.8.9</a> <a class="dropdown-item" href="/5.8.8/ExtUtils::Install">5.8.8</a> <a class="dropdown-item" href="/5.8.7/ExtUtils::Install">5.8.7</a> <a class="dropdown-item" href="/5.8.6/ExtUtils::Install">5.8.6</a> <a class="dropdown-item" href="/5.8.5/ExtUtils::Install">5.8.5</a> <a class="dropdown-item" href="/5.8.4/ExtUtils::Install">5.8.4</a> <a class="dropdown-item" href="/5.8.3/ExtUtils::Install">5.8.3</a> <a class="dropdown-item" href="/5.8.2/ExtUtils::Install">5.8.2</a> <a class="dropdown-item" href="/5.8.1/ExtUtils::Install">5.8.1</a> <a class="dropdown-item" href="/5.8.0/ExtUtils::Install">5.8.0</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.6.2/ExtUtils::Install">5.6.2</a> <a class="dropdown-item" href="/5.6.1/ExtUtils::Install">5.6.1</a> <a class="dropdown-item active" href="/5.6.0/ExtUtils::Install">5.6.0</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.005_04/ExtUtils::Install">5.005_04</a> <a class="dropdown-item" href="/5.005_03/ExtUtils::Install">5.005_03</a> <a class="dropdown-item" href="/5.005_02/ExtUtils::Install">5.005_02</a> <a class="dropdown-item" href="/5.005_01/ExtUtils::Install">5.005_01</a> <a class="dropdown-item" href="/5.005/ExtUtils::Install">5.005</a> </div> </li> <li class="nav-item dropdown text-nowrap"> <a class="nav-link dropdown-toggle" href="#" id="dropdownlink-dev" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Dev</a> <div class="dropdown-menu" aria-labelledby="dropdownlink-dev"> <a class="dropdown-item" href="/blead/ExtUtils::Install">blead</a> <a class="dropdown-item" href="/5.41.10/ExtUtils::Install">5.41.10</a> <a class="dropdown-item" href="/5.41.9/ExtUtils::Install">5.41.9</a> <a class="dropdown-item" href="/5.41.8/ExtUtils::Install">5.41.8</a> <a class="dropdown-item" href="/5.41.7/ExtUtils::Install">5.41.7</a> <a class="dropdown-item" href="/5.41.6/ExtUtils::Install">5.41.6</a> <a class="dropdown-item" href="/5.41.5/ExtUtils::Install">5.41.5</a> <a class="dropdown-item" href="/5.41.4/ExtUtils::Install">5.41.4</a> <a class="dropdown-item" href="/5.41.3/ExtUtils::Install">5.41.3</a> <a class="dropdown-item" href="/5.41.2/ExtUtils::Install">5.41.2</a> <a class="dropdown-item" href="/5.41.1/ExtUtils::Install">5.41.1</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.40.1-RC1/ExtUtils::Install">5.40.1-RC1</a> <a class="dropdown-item" href="/5.40.0-RC2/ExtUtils::Install">5.40.0-RC2</a> <a class="dropdown-item" href="/5.40.0-RC1/ExtUtils::Install">5.40.0-RC1</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.39.10/ExtUtils::Install">5.39.10</a> <a class="dropdown-item" href="/5.39.9/ExtUtils::Install">5.39.9</a> <a class="dropdown-item" href="/5.39.8/ExtUtils::Install">5.39.8</a> <a class="dropdown-item" href="/5.39.7/ExtUtils::Install">5.39.7</a> <a class="dropdown-item" href="/5.39.6/ExtUtils::Install">5.39.6</a> <a class="dropdown-item" href="/5.39.5/ExtUtils::Install">5.39.5</a> <a class="dropdown-item" href="/5.39.4/ExtUtils::Install">5.39.4</a> <a class="dropdown-item" href="/5.39.3/ExtUtils::Install">5.39.3</a> <a class="dropdown-item" href="/5.39.2/ExtUtils::Install">5.39.2</a> <a class="dropdown-item" href="/5.39.1/ExtUtils::Install">5.39.1</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.38.3-RC1/ExtUtils::Install">5.38.3-RC1</a> </div> </li> <li class="nav-item dropdown text-nowrap"> <a class="nav-link dropdown-toggle" href="#" id="dropdownlink-nav" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Documentation</a> <div class="dropdown-menu" aria-labelledby="dropdownlink-nav"> <a class="dropdown-item" href="/5.6.0/perl">Perl</a> <a class="dropdown-item" href="/5.6.0/perlintro">Intro</a> <a class="dropdown-item" href="/5.6.0/perl#Tutorials">Tutorials</a> <a class="dropdown-item" href="/5.6.0/perlfaq">FAQs</a> <a class="dropdown-item" href="/5.6.0/perl#Reference-Manual">Reference</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.6.0/perlop">Operators</a> <a class="dropdown-item" href="/5.6.0/functions">Functions</a> <a class="dropdown-item" href="/5.6.0/variables">Variables</a> <a class="dropdown-item" href="/5.6.0/modules">Modules</a> <a class="dropdown-item" href="/5.6.0/perlutil">Utilities</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="/5.6.0/perldelta">Release Notes</a> <a class="dropdown-item" href="/5.6.0/perlcommunity">Community</a> <a class="dropdown-item" href="/5.6.0/perlhist">History</a> </div> </li> </ul> <ul class="navbar-nav"> <script> function set_expand (expand) { var perldocdiv = document.getElementById('perldocdiv'); var width = window.getComputedStyle(perldocdiv).getPropertyValue('max-width'); var expanded = (width == '' || width == 'none') ? true : false; if (expand === null) { expand = !expanded; } if ((expand && !expanded) || (!expand && expanded)) { perldocdiv.style.setProperty('max-width', expand ? 'none' : '960px'); var button_classlist = document.getElementById('content-expand-button').classList; if (expand) { button_classlist.add('btn-light'); button_classlist.remove('btn-outline-light'); } else { button_classlist.add('btn-outline-light'); button_classlist.remove('btn-light'); } } return expand; } function toggle_expand () { var expand = set_expand(null); document.cookie = 'perldoc_expand=' + (expand ? 1 : 0) + '; path=/; expires=Tue, 19 Jan 2038 03:14:07 UTC'; } function read_expand () { return document.cookie.split(';').some(function (item) { return item.indexOf('perldoc_expand=1') >= 0 }); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', function () { if (read_expand()) { set_expand(true); } }); } else if (read_expand()) { set_expand(true); } </script> <button id="content-expand-button" type="button" class="btn btn-outline-light d-none d-lg-inline-block mr-4" onclick="toggle_expand()">Expand</button> </ul> <form class="form-inline" method="get" action="/5.6.0/search"> <input class="form-control mr-3" type="search" name="q" placeholder="Search" aria-label="Search" value=""> </form> </div> </nav> <div id="wrapperlicious" class="container-fluid"> <div id="perldocdiv"> <div id="links"> <a href="/5.6.0/ExtUtils::Install">ExtUtils::Install</a> <div id="more"> (<a href="/5.6.0/ExtUtils::Install.txt">source</a>, <a href="https://metacpan.org/pod/ExtUtils::Install">CPAN</a>) </div> <div id="moduleversion">version 1.28</div> </div> <div class="leading-notice"> You are viewing the version of this documentation from Perl 5.6.0. <a href="/ExtUtils::Install">View the latest version</a> </div> <h1><a id="toc">CONTENTS</a></h1> <ul> <li> <a class="text-decoration-none" href="#NAME">NAME</a> </li> <li> <a class="text-decoration-none" href="#SYNOPSIS">SYNOPSIS</a> </li> <li> <a class="text-decoration-none" href="#DESCRIPTION">DESCRIPTION</a> </li> </ul> <h1 id="NAME"><a class="permalink" href="#NAME">#</a>NAME</h1> <p>ExtUtils::Install - install files from here to there</p> <h1 id="SYNOPSIS"><a class="permalink" href="#SYNOPSIS">#</a>SYNOPSIS</h1> <p><b>use ExtUtils::Install;</b></p> <p><b>install($hashref,$verbose,$nonono);</b></p> <p><b>uninstall($packlistfile,$verbose,$nonono);</b></p> <p><b>pm_to_blib($hashref);</b></p> <h1 id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">#</a>DESCRIPTION</h1> <p>Both install() and uninstall() are specific to the way ExtUtils::MakeMaker handles the installation and deinstallation of perl modules. They are not designed as general purpose tools.</p> <p>install() takes three arguments. A reference to a hash, a verbose switch and a don't-really-do-it switch. The hash ref contains a mapping of directories: each key/value pair is a combination of directories to be copied. Key is a directory to copy from, value is a directory to copy to. The whole tree below the "from" directory will be copied preserving timestamps and permissions.</p> <p>There are two keys with a special meaning in the hash: "read" and "write". After the copying is done, install will write the list of target files to the file named by <code>$hashref->{write}</code>. If there is another file named by <code>$hashref->{read}</code>, the contents of this file will be merged into the written file. The read and the written file may be identical, but on AFS it is quite likely that people are installing to a different directory than the one where the files later appear.</p> <p>install_default() takes one or less arguments. If no arguments are specified, it takes $ARGV[0] as if it was specified as an argument. The argument is the value of MakeMaker's <code>FULLEXT</code> key, like <i>Tk/Canvas</i>. This function calls install() with the same arguments as the defaults the MakeMaker would use.</p> <p>The argument-less form is convenient for install scripts like</p> <pre><code class="plaintext">perl -MExtUtils::Install -e install_default Tk/Canvas</code></pre> <p>Assuming this command is executed in a directory with a populated <i>blib</i> directory, it will proceed as if the <i>blib</i> was build by MakeMaker on this machine. This is useful for binary distributions.</p> <p>uninstall() takes as first argument a file containing filenames to be unlinked. The second argument is a verbose switch, the third is a no-don't-really-do-it-now switch.</p> <p>pm_to_blib() takes a hashref as the first argument and copies all keys of the hash to the corresponding values efficiently. Filenames with the extension pm are autosplit. Second argument is the autosplit directory.</p> </div> <div id="footer"> <p>Perldoc Browser is maintained by Dan Book (<a href="https://metacpan.org/author/DBOOK">DBOOK</a>). Please contact him via the <a href="https://github.com/Grinnz/perldoc-browser/issues">GitHub issue tracker</a> or <a href="mailto:dbook@cpan.org">email</a> regarding any issues with the site itself, search, or rendering of documentation.</p> <p>The Perl documentation is maintained by the Perl 5 Porters in the development of Perl. Please contact them via the <a href="https://github.com/Perl/perl5/issues">Perl issue tracker</a>, the <a href="https://lists.perl.org/list/perl5-porters.html">mailing list</a>, or <a href="https://kiwiirc.com/client/irc.perl.org/p5p">IRC</a> to report any issues with the contents or format of the documentation.</p> </div> </div> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.slim.min.js" integrity="sha512-/DXTXr6nQodMUiq+IUJYCt2PPOUjrHJ9wFrqpJ3XkgPNOZVfMok7cRw6CSxyCQxXn6ozlESsSh1/sMCTF1rL/g==" crossorigin="anonymous"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.1/umd/popper.min.js" integrity="sha512-ubuT8Z88WxezgSqf3RLuNi5lmjstiJcyezx34yIU2gAHonIi27Na7atqzUZCOoY4CExaoFumzOsFQ2Ch+I/HCw==" crossorigin="anonymous"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js" integrity="sha384-B4gt1jrGC7Jh4AgTPSdUtOBvfO8shuf57BaghqFfPlYxofvL8/KUEfYiJOMMV+rV" crossorigin="anonymous"></script> <script src="/js/highlight.pack.js"></script> <script>hljs.highlightAll();</script> </body> </html>